package cn.iocoder.yudao.module.wms.controller.admin.inventory.vo;

import com.alibaba.excel.annotation.ExcelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;

@Schema(description = "管理后台 - 存货档案新增/修改 Request VO")
@Data
public class InventorySaveReqVO {

    @Schema(description = "存货id", requiredMode = Schema.RequiredMode.REQUIRED, example = "32408")
    private Long id;

    @Schema(description = "存货编码", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotEmpty(message = "存货编码不能为空")
    private String code;

    @Schema(description = "存货名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿")
    @NotEmpty(message = "存货名称不能为空")
    private String name;

    @Schema(description = "规格型号", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotEmpty(message = "规格型号不能为空")
    private String specModel;

    @Schema(description = "存货分类", requiredMode = Schema.RequiredMode.REQUIRED, example = "31427")
    @NotNull(message = "存货分类不能为空")
    private Long classifyId;

    @Schema(description = "计量单位", requiredMode = Schema.RequiredMode.REQUIRED, example = "20436")
    @NotNull(message = "计量单位不能为空")
    private Long unitId;

    @Schema(description = "税率")
    @ExcelProperty("税率")
    private Double taxRate;

    @Schema(description = "批次管理", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "批次管理不能为空")
    private Integer isBatch;

    @Schema(description = "品牌")
    private String brand;

}